package com.easylinkin.linkappapi.grid.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.common.model.RequestModel;
import com.easylinkin.linkappapi.grid.entity.GridSecurityLog;
import com.easylinkin.linkappapi.grid.models.dto.GridSecurityCheckItemDTO;
import com.easylinkin.linkappapi.grid.models.dto.GridSecurityLogDayDTO;
import com.easylinkin.linkappapi.grid.models.query.GridSecurityLogQuery;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 网格安全员日志 服务类
 *
 * @author xy
 * @since 2025-06-30
 */
public interface IGridSecurityLogService extends IService<GridSecurityLog> {
    IPage<GridSecurityLog> queryPage(RequestModel<GridSecurityLogQuery> requestModel);

    void saveOrUpdateLog(GridSecurityLog gridSecurityLog);

    GridSecurityLog queryById(Long id);

    List<GridSecurityCheckItemDTO> queryAllCheckItems();

    boolean checkGridLog(Long gridId, String logTime);

    List<GridSecurityLogDayDTO> queryByMonth(String month);

    void exportByMonth(String month, HttpServletResponse response) throws IOException;
}